using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Abp.Domain.Entities;
using Abp.Domain.Entities.Auditing;

namespace Yozeev.BusinessLogic
{
    /// <summary>
    /// 常用游客信息
    /// </summary>
    public class CommonCustomer : ByBranchEntity<Guid>
    {
        /// <summary>
        /// 主游客Id
        /// </summary>
        public Guid MainCustomerId { get; set; }
        /// <summary>
        /// 副游客Id
        /// </summary>
        public Guid ViceCustomerId { get; set; }
        [ForeignKey("ViceCustomerId")]
        public virtual Customer ViceCustomer { get; set; }
        /// <summary>
        /// 姓名
        /// </summary>
        [Required(ErrorMessage = "姓名不能为空")]
        [StringLength(50)]
        public string CustomerName { get; set; }
        /// <summary>
        /// 手机号
        /// </summary>
        [Required(ErrorMessage = "手机号不能为空")]
        [StringLength(100)]
        public string Mobile { get; set; }
        /// <summary>
        /// 性别
        /// </summary>
        [StringLength(100)]
        public SexEnum Sex { get; set; }
        /// <summary>
        /// 证件号
        /// </summary>
        [Required(ErrorMessage = "证件号不能为空")]
        public string CertificatesNum { get; set; }
        /// <summary>
        /// 证件类型
        /// </summary>
        [Required]
        public VerifiableTypeEnum VerifiableType { get; set; }
    }
}
